rubles = int(input())
gp1 = list(map(int, input().split(' ')))
gp2 = list(map(int, input().split(' ')))
gp3 = list(map(int, input().split(' ')))
gp4 = list(map(int, input().split(' ')))
anser1 = ''
anser2 = ''
anser3 = ''
anser4 = ''
if min(gp1[0:2]) + min(gp1[2:5]) <= rubles:
anser1 = '1 {} {}'.format(min(gp1[0:2]), rubles-min(gp1[0:2]))
print(anser1)
elif min(gp2[0:2]) + min(gp2[2:5]) <= rubles:
anser2 = '2 {} {}'.format(min(gp2[0:2]), rubles-min(gp2[0:2]))
print(anser2)
elif min(gp3[0:2]) + min(gp3[2:5]) <= rubles:
anser3 = '3 {} {}'.format(min(gp3[0:2]), rubles-min(gp3[0:2]))
print(anser3)
elif min(gp4[0:2]) + min(gp4[2:5]) <= rubles:
anser4 = '4 {} {}'.format(min(gp4[0:2]), rubles-min(gp4[0:2]))
print(anser4)
else:
print('-1')
583. Delete Operation for Two Strings | 518. Coin Change 2 |
516. Longest Palindromic Subsequence | 468. Validate IP Address |
450. Delete Node in a BST | 445. Add Two Numbers II |
442. Find All Duplicates in an Array | 437. Path Sum III |
436. Find Right Interval | 435. Non-overlapping Intervals |
406. Queue Reconstruction by Height | 380. Insert Delete GetRandom O(1) |
332. Reconstruct Itinerary | 368. Largest Divisible Subset |
377. Combination Sum IV | 322. Coin Change |
307. Range Sum Query - Mutable | 287. Find the Duplicate Number |
279. Perfect Squares | 275. H-Index II |
274. H-Index | 260. Single Number III |
240. Search a 2D Matrix II | 238. Product of Array Except Self |
229. Majority Element II | 222. Count Complete Tree Nodes |
215. Kth Largest Element in an Array | 198. House Robber |
153. Find Minimum in Rotated Sorted Array | 150. Evaluate Reverse Polish Notation |